Arrival detection for battery-powered optical sensors

ABSTRACT

A method including, accessing an occupancy of the workspace. The method also includes, in response to the occupancy status indicating vacancy: at a first time, recording a first image and a second image of the workspace, the first image and the second image characterized by a first resolution; and executing an arrival detection model based on the first and second image. The method further includes, in response to detecting arrival at the workspace: at a third time, recording a third image of the workspace, the third image characterized by a second resolution greater than the first resolution; and executing an occupancy detection model based on the third image. The method additionally includes, in response to detecting occupancy of the workspace: updating the occupancy status to indicate occupancy; and transmitting the occupancy status to a remote scheduling system.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/819,288, filed on 15 Mar. 2019, which is incorporated in its entiretyby this reference.

This application is related to U.S. patent application Ser. No.15/973,445, filed on 7 May 2018, which is incorporated in its entiretyby this reference.

TECHNICAL FIELD

This invention relates generally to the field of occupancy monitoringand more specifically to a new and useful method for arrival detectionfor battery-powered optical sensors in the field of occupancymonitoring.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a flowchart representation of a method;

FIG. 2 is a flowchart representation of the method;

FIG. 3 is a flowchart representation of the method;

FIG. 4 is a flowchart representation of the method;

FIG. 5 is a flowchart representation of the method; and

FIG. 6 is a schematic representation of the system.

DESCRIPTION OF THE EMBODIMENTS

The following description of embodiments of the invention is notintended to limit the invention to these embodiments but rather toenable a person skilled in the art to make and use this invention.Variations, configurations, implementations, example implementations,and examples described herein are optional and are not exclusive to thevariations, configurations, implementations, example implementations,and examples they describe. The invention described herein can includeany and all permutations of these variations, configurations,implementations, example implementations, and examples.

1. Method

As shown in FIG. 1, a method S100 for detecting occupancy of a workspaceincludes: accessing an occupancy status of the workspace in Block S110.The method S100 also includes, in response to the occupancy statusindicating vacancy of the workspace: at a first time, recording a firstimage of the workspace at a sensor block, the first image characterizedby a first resolution in Block S120; at a second time succeeding thefirst time by a first time interval, recording a second image of theworkspace at the sensor block, the second image characterized by thefirst resolution in Block S122; and executing an arrival detection modelbased on the first image and the second image in Block S130. The methodS100 additionally includes, in response to detecting human arrival atthe workspace via the arrival detection model: at a third time,recording a third image of the workspace at the sensor block, the thirdimage characterized by a second resolution greater than the firstresolution in Block S140; and executing an occupancy detection modelbased on the third image in Block S150. The method S100 furtherincludes, in response to detecting occupancy of the workspace via theoccupancy detection model: updating the occupancy status to indicateoccupancy of the workspace in Block S160; and transmitting the occupancystatus to a remote scheduling system in Block S170.

As shown in FIG. 1, a variation of the method S100 for detectingoccupancy of a workspace includes: accessing an occupancy status of theworkspace in Block S110. This variation of the method S100 alsoincludes, in response to the occupancy status indicating vacancy of theworkspace: at a first time, recording a first image of the workspace ata sensor block in Block S120; at a second time succeeding the first timeby a first time interval, recording a second image of the workspace atthe sensor block in Block S122; and executing an arrival detection modelbased on the first image and the second image, the arrival detectionmodel characterized by a first energy consumption in Block S130. Thisvariation of the method S100 additionally includes, in response todetecting human arrival at the workspace via the arrival detectionmodel: at a third time, recording a third image of the workspace at thesensor block in Block S140; and executing an occupancy detection modelbased on the third image, the occupancy detection model characterized bya second energy consumption greater than the first energy consumption inBlock S150. This variation of the method S100 further includes, inresponse to detecting occupancy of the workspace via the occupancydetection model: updating the occupancy status to indicate occupancy ofthe workspace in Block S160; and transmitting the occupancy status to aremote scheduling system, the occupancy status indicating occupancy ofthe workspace in Block S110.

As shown in FIG. 2, a variation of the method S100 for detectingoccupancy of a workspace includes: accessing a first occupancy status ofa first workspace in Block S110. This variation of the method S100 alsoincludes, in response to the first occupancy status indicating vacancyof the first workspace: during a first time period, recording a firstseries of images of the first workspace at a sensor block and at a firstimaging frequency in Block S124; and executing an arrival detectionmodel based on the first series of images in Block S130. This variationof the method S100 additionally includes, in response to detecting humanarrival at the first workspace via the arrival detection model: during asecond time period succeeding the first time period, recording a secondseries of images of the first workspace at the sensor block and at asecond imaging frequency in Block S142; and executing an occupancydetection model based on the second series of images in Block S150. Thisvariation of the method S100 further includes, in response to detectingoccupancy of the first workspace via the occupancy detection model:updating the first occupancy status to indicate occupancy of the firstworkspace in Block S160; and transmitting the first occupancy status toa remote scheduling system in Block S110.

2. Applications

Generally, As shown in FIGS. 1, 2, 3, 4, and 5, the method S100 can beexecuted within a work area—such as within a conference room, an agilework environment, a cafeteria, or a lounge, etc. within a facility—tomonitor changes in human occupancy in the work area and to updateschedulers or managers regarding occupancy status of assets andworkspaces (i.e. a “space”)—such as a desk, cubicle, or another seatlocation within the work area. As shown in FIG. 6, Blocks of the methodS100 can be executed by a system including: a sensor block deployed atthe work area, a gateway wirelessly connected to the sensor block,and/or a remote scheduling system for communicating occupancy datapertaining to the work area to users of the system.

In particular, a sensor block can include an optical sensor (e.g., acamera) and can be configured to mount to a wall, ceiling, or othersurface such that the field of view of the optical sensor faces a workarea. For example, the sensor block can be arranged overhead and facingdownward over a conference table in a conference room or arrangedoverhead and facing downward over a cluster of desks in an agile workenvironment within the facility. Furthermore, the sensor block can bebattery-powered and therefore executes Blocks of the method S100 inorder to limit energy consumption while monitoring occupancy of the workarea, thereby extending battery life of the sensor block.

When detecting occupancy of a workspace within a work area, the systemcan execute Blocks of the method S100 in order to prioritize precisetemporal detection of an arrival of a human at a workspace (therebyindicating that the workspace is newly occupied), while deprioritizingprecise temporal detection of a human's departure from a workspace(thereby indicating that the workspace is newly available). Thisasymmetrical prioritization improves resource management efficiency byreducing the probability that a user of the system travels to what thesystem has indicated to be an unoccupied workspace only to discover thatthe system did not detect that the workspace had been recently occupied.Thus, the system can execute the method S100 to: detect arrival ofhumans at workspaces with high temporal and spatial precision; anddetect departure of humans from workspaces with high spatial precisionbut lower temporal precision in order to extend battery life of thesensor block.

Accordingly, by executing Blocks of the method S100, the sensor blockcan: operate in an arrival detection mode when at least one workspace inthe field of view of the sensor block is vacant; and operate in adeparture detection mode when all workspaces in the field of view of thesensor block are occupied. Furthermore, if some workspaces in the fieldof view of the sensor block are occupied while other workspaces in thefield of view of the sensor block are vacant, the sensor block canoperate in a hybrid detection mode. For example, the sensor block can:record and process segments of images depicting unoccupied workspaces inthe field of view of the sensor block according to the arrival detectionmode; and record and process segments of images depicting occupiedworkspaces in the field of view of the sensor block according to thedeparture detection mode.

In particular, while operating in the arrival detection mode, at thesensor block, the system can: record successive lower-resolution imagesof the workspace at a higher frequency (e.g., separated by a one minuteor two minute time interval); detect arrival of a human at the workspacevia an arrival detection model based on at least the last image of thesuccessive lower-resolution images; and, in response to detecting thearrival of a human at the workspace, record a higher-resolutionconfirmation image. The system can execute an arrival detection modelthat is characterized by a low energy consumption and low storagefootprint such that the system can execute the arrival detection modelat a high frequency without rapidly depleting the battery of the sensorblock.

Upon detection of arrival of a human at the workspace based on thearrival detection model, the system can then confirm occupancy of theworkspace via an occupancy detection model based on the confirmationimage and update an occupancy status of the workspace to indicate thatthe workspace is occupied. Alternatively, the system can detect, via theoccupancy detection model that the system detected a false positive forhuman arrival at the workspace and can maintain the occupancy status ofthe workspace to indicate that the workspace is still vacant.

Therefore, when operating in the arrival detection mode, the sensorblock can conserve battery energy by capturing lower-resolution imagesand executing (via the arrival detection model) low-compute, on-boardprocessing of the images until the sensor block detects an arrival ofthe human. The system can then maintain the precision of the arrivaldetection by capturing lower-resolution images at a higher frequency(thereby providing better time resolution for arrival detection) andconfirming changes in occupancy detected via the arrival detection modelby recording a higher-resolution confirmation image at the sensor blockand executing a more accurate, higher compute occupancy detection model.

While operating in the departure detection mode, the sensor block canrecord successive higher-resolution images of the workspace at a lowerfrequency (e.g., separated by a 10-, 15-, or 20-minute time interval).The system can then: detect whether the workspace is newly vacant viathe occupancy detection model; and, in response, update the workspacestatus to indicate that the workspace is vacant. Therefore, whenoperating in the departure detection mode, the sensor block extendsbattery life by increasing the time interval between images (therebyreducing the time resolution of departure detection) but still maintainsaccuracy by only indicating a vacancy when detected by the more accurateoccupancy detection model at the gateway. In one implementation, thesystem can execute the high-compute occupancy detection model at agateway (connected to a wall outlet or other non-portable power source)communicating with multiple sensor blocks by: transmitting eachhigher-resolution image to the gateway; at the gateway, executing theoccupancy detection model on the high-resolution image; and transmittingthe occupancy status classified via the occupancy detection model backto the sensor block that is recording images of the workspace.

Furthermore, the system can operate in a hybrid detection mode inresponse to the system detecting both occupied and vacant workspaceswithin the field of view of the sensor block. For example, the sensorblock can record images at a higher frequency (e.g., on a two-minutetime interval), including a sequence of (e.g., four successive)lower-resolution images followed by one higher-resolution image.Therefore, the sensor block records an image every two minutes whilerecording a higher resolution image every ten minutes. The system canthus evaluate the lower-resolution images according to the arrivaldetection mode (e.g., by triggering capture and transmission of ahigher-resolution image to the gateway upon detection of arrival of ahuman in the workspace) while confirming the occupancy status of theworkspaces on a ten-minute interval via the occupancy detection model.While in this hybrid detection mode, the system can implement acumulative limit on high-resolution image transmitted to the gatewaywithin a period of time (e.g., including planned higher-resolution imagetransmissions and those triggered by arrival detection via the arrivaldetection model), such that the sensor block limits energy consumptionduring periods of high activity (e.g., periods of time that include manyarrivals and departures from workspaces in the work area) and thusextends battery life.

Furthermore, the system can generate and/or calculate setting updates orother feedback to the sensor block to tailor the arrival detectionmodel—implemented by the sensor block—to improve spatial accuracy,asymmetric temporal accuracy, and/or energy efficiency of sensor block.For example, the system can access image masks, thresholds, templateimages, and/or contiguous edges, and the sensor block can update thearrival detection model based on these data. In another example, thesystem can calculate: a minimum resolution for lower-resolution imagesrecorded by the sensor block; and/or specify a particular arrivaldetection model for execution at the sensor block that is most accuratefor the specific characteristics of the sensor block.

Once the system has detected and confirmed a change in occupancy of aworkspace, the system can notify a remote scheduling system of thechange in occupancy status of the workspace. The remote schedulingsystem can then update the occupancy status of the workspace and adjustscheduling, utilization, and/or other records for the workspaceaccordingly. Additionally, the remote scheduling system can update agraphic user interface (hereinafter a “GUI”) communicating the occupancystatus of each workspace in the work area, thereby providing users ofthe system with an overall view of the occupancy in the work area.Furthermore, the remote scheduling system can display a particulargraphical representation in the GUI indicating the detection of a humanarrival at a workspace prior to confirmation of this arrival asoccupancy of the workspace. The system can, therefore, graphicallydistinguish between unconfirmed and confirmed occupancy at workspaces inthe work area.

The method S100 is generally described herein as executed by one sensorblock, one gateway, and/or a remote scheduling system deployed to afacility. However, the gateway can similarly interface with any othernumber of sensor blocks—executing Blocks of the method S100—deployedthroughout the facility; and the remote scheduling system can interfacewith any other number of gateways and any other number of sensor blocksin the facility.

3. Sensor Block

As shown in FIG. 6, the system can include a sensor block that canfurther include: an optical sensor defining a field of view within awork area that encompasses at least one workspace; a sensor blockprocessor configured to extract data from images recorded by the opticalsensor; a wireless communication module configured to wirelesslytransmit and receive images and/or other data from other sensor blocksin a set of sensor blocks installed in a work area, a gateway, and/or aremote scheduling system; a battery configured to power the opticalsensor, the sensor block processor, and the wireless communicationmodule over an extended duration of time (e.g., one year, five years);and an housing configured to contain the optical sensor, the sensorblock processor, the wireless communication module, and the battery,configured to mount to a surface (e.g., a ceiling above the work area ora wall) such that the field of view of the optical sensor encompasses aworkspace or a set of workspaces in the work area of interest within thefacility (e.g., a conference table within a conference room, a clusterof agile desks in an agile work environment).

The optical sensor can include: a color camera configured to record andoutput 2D color images; and/or a depth camera configured to record andoutput 2D depth images or 3D point clouds. In one implementation, theoptical sensor can capture images (or 3D point clouds) at multipleresolutions and/or color settings (grayscale, full color, etc.).Alternatively, the sensor block can include two optical sensors: ahigh-resolution optical sensor configured to capture higher-resolution2D images or 3D point clouds of the work area for processing via theoccupancy detection model; and a lower-resolution optical sensorconfigured to capture lower-resolution 2D images for processing via thearrival detection model. Thus, the sensor block can: at a first time,record a first (lower-resolution) image of the workspace at the sensorblock via a first optical sensor in Block S120; at a second timesucceeding the first time by a first time interval (where the first timeinterval is based on the higher imaging frequency for thelower-resolution images), record a second image of the workspace at thesensor block via the first optical sensor in Block S122; at a thirdtime, record the third (high-resolution confirmation) image of theworkspace at the sensor block via a second optical sensor in Block S140;and/or, at a fourth time succeeding the third time by a second timeinterval (where the second time interval is based on the lower imagingfrequency for the high-resolution images), record a fourth(high-resolution) image at the sensor block via the second opticalsensor. However, the optical sensor can define any other type of opticalsensor and can output visual or optical data in any other format.

In a local execution variation, the sensor block can locally executeBlocks of the method S100, as described herein, to: record successivelower-resolution images of the workspace at a higher frequency; detectan arrival of a human at the workspace via an arrival detection modelbased on at least the last image of the successive lower-resolutionimages; in response to detecting the arrival of a human at theworkspace, record a higher-resolution confirmation image; and executethe occupancy detection model to confirm occupancy and/or reject thearrival detection of the arrival detection model. Additionally, thesensor block can locally execute Blocks of the method S100, as describedherein, to: record successive higher-resolution images of the workspaceat a lower frequency while in departure detection mode. Thus, the systemcan: access the occupancy status of the workspace, in local memory ofthe sensor block in Block S110; execute the arrival detection modelbased on the first image and the second image at the sensor block inBlock S130; execute the occupancy detection model based on the thirdimage at the sensor block in Block S150; update the occupancy status toindicate occupancy of the workspace in the local memory of the sensorblock in Block S160; and transmit the occupancy status from the sensorblock to the remote scheduling system in Block S170.

In one example, the sensor block can include an optical sensor defininga maximum resolution of 640 by 480 and a minimum resolution of 256 by256 with a field of view of Z degrees. Thus, the lower-resolution imagesrecorded by the sensor block can be characterized by a resolution of 256by 256 and the higher resolution images can be characterized by aresolution of 640 by 480. Additionally, the sensor block can include anoptical sensor defining a maximum resolution less than a thresholdresolution sufficient to identify humans (e.g., by distinguishing facialfeatures). Therefore, the sensor block can anonymously detect thearrival and/or presence of a human at a workspace.

The sensor block can include the optical sensor, the motion sensor, thebattery, the processor, and the wireless communication module arrangedwithin a single housing configured to install on a flat surface—such asby being adhered or mechanically fastened to a wall or ceiling—with thefield of view of the optical sensor facing outwardly from the flatsurface and encompassing a region of the work area within the facility.

4. Gateway

As shown in FIG. 6, in one variation, the system can also include agateway including a gateway processor and a gateway wirelesscommunication module and configured to: receive images transmitted fromsensor blocks nearby via a wireless communication protocol or via alocal ad hoc wireless network; to confirm or detect the presence of ahuman at a workspace based on images received from sensor blocks. Forexample, the gateway can be installed near and connected to a wall poweroutlet and can execute a more computationally intensive occupancydetection model than the sensor block. Furthermore, multiple gatewayscan be installed throughout the facility and each of these gateways caninterface with many sensor blocks installed nearby to collect images(and/or image data) from these sensor blocks.

In an alternative remote execution variation, the system can record aset of higher-resolution images while in departure detection mode orupon recording a confirmation image in response to detecting a humanarrival at a workspace; and transmit each higher-resolution image to thegateway. In this variation, the gateway can execute the high-computeoccupancy detection model in order to further reduce energy consumptionby the sensor block (assuming the energy required to transmit thehigh-resolution images is sufficiently low, when compared to the energyconsumption of each execution of the occupancy detection model. Thus,the system can: access an occupancy status of the workspace at thesensor block in Block S110; execute the arrival detection model based onthe first (lower-resolution) image and the second (lower-resolution)image at the sensor block in Block S130; in response to detecting humanarrival at the workspace via the arrival detection model, transmit thethird image from the sensor block to a gateway; execute the occupancydetection model based on the third (high-resolution) image at thegateway in Block S150; in response to detecting occupancy of theworkspace via the occupancy detection model, transmit an indication ofoccupancy of the workspace from the gateway to the sensor block; updatethe occupancy status to indicate occupancy of the workspace at thesensor block in Block S160; and transmit the occupancy status from thegateway to the remote scheduling system in Block S170.

In one implementation, the gateway can execute a remote occupancydetection model, which requires additional computational power than thelocal occupancy detection model executed on the sensor block. Morespecifically, the system can: at the sensor block, execute a localoccupancy detection model based on a high-resolution image of theworkspace; in response to detecting occupancy with less than a thresholdconfidence at the sensor block, transmit the high-resolution image ofthe workspace from the sensor block to the gateway; at the gateway,execute a remote occupancy detection model based on the high-resolutionimage; and, in response to detecting occupancy at the workspace,transmit an indication of occupancy of the workspace to the sensor blockand/or the remote scheduling system.

5. Workspace Status and Corresponding Detection Modes

The system executes Blocks of the method S100 in order to detectstatuses of workspaces within the field of view of the optical sensor ofthe sensor block and to establish a current mode (or “state”) ofoperation of the sensor block based on statuses of these workspaces.Generally, a sensor block can be installed over a work area occupied bymultiple desks and/or seats. The sensor block can detect (e.g., withinthe field of view of the sensor block) each desk and/or seat within thework area (e.g., at the gateway) via computer vision algorithms anddesignate each detected desk and/or seat as a workspace within the workarea upon setup of the sensor block. Alternatively, administrators ofthe system can designate locations of workspaces within the field ofview of the sensor block during setup of the sensor block in the workarea. More specifically, the system can: detect and/or access a set ofdistinct regions in the field of view of the optical sensor, each regioncorresponding to a workspace in the field of view of the optical sensor;and define an image mask corresponding to pixel locations in the fieldof view of the optical sensor corresponding to each detected workspace.Thus, the sensor block can restrict execution of the arrival detectionmodel and/or the occupancy detection model to particular image maskscorresponding to workspaces in the field of view of the optical sensor,thereby improving the efficiency of both models and minimizingfalse-positives caused by humans moving between or around workspaces inthe field of view of the optical sensor.

In particular, upon setup over a work area (e.g., at a time when thework area is confirmed vacant), the system can: record a high-resolutionimage of the work area via the sensor block's optical sensor; transmitthe high resolution image to the gateway; and receive from the gatewayan image mask indicating a set of pixels in the field of view of theoptical sensor corresponding to each workspace in the image.Correspondingly, the gateway can automatically detect distinctworkspaces in the image or receive a manual indication of the workspaceswithin the image via an interface and input from an administrator of thesystem.

Upon designation of each workspace in the field of view of the sensorblock, the sensor block can store, in local memory, a current occupancystatus (e.g., a binary variable or categorical variable) of eachworkspace within its field of view. The occupancy status of eachworkspace indicates the system's current evaluation of whether theworkspace is currently occupied or currently vacant. The sensor blockcan operate in an arrival detection mode, a departure detection mode, ora hybrid detection mode in response to the occupancy statuses of theworkspaces within its field of view or the occupancy statuses of allworkspaces in the work area.

In order to maximize the amount of time that the sensor block spends ina low-power mode, the sensor block can: set timers to periodically wakeitself from low-power mode in order to capture lower-resolution imagesand execute the arrival detection model (in arrival detection mode)and/or capture and transmit higher-resolution images to the gateway (indeparture detection mode or when confirming arrival of a human at aworkspace).

In one implementation, the sensor block can operate in an arrivaldetection mode while a subset of the workspaces in the field of view ofthe optical sensor are vacant or in a departure detection model when allof the workspaces in the field of view of the optical sensor areoccupied.

In another implementation, the sensor block can operate in an arrivaldetection mode while all of the workspaces within its field of view arevacant; in a departure detection mode while all of the workspaces withinits field of view are occupied; and in a hybrid detection mode whilesome workspaces within its field of view are occupied and other arevacant. Thus, the mode of operation of the sensor block depends on thecurrent occupancy of the workspaces within the field of view of thesensor block.

In yet another implementation, the sensor block can operate in anadaptive mode, where the frequency of recording lower-resolution imagesfollowed by execution of the arrival detection model relative to thefrequency of recording high-resolution images followed by execution ofthe occupancy detection model is adaptive based on the time of day, theproportion of desks currently occupied within the work area, and/or theconfidence level for the occupancy status of a desk.

In instances where the sensor block is installed over a work area withonly one workspace within the field of view of the sensor block, thesensor block can operate in arrival detection mode in response to avacancy in this workspace or departure detection mode in response tooccupancy in this workspace.

More specifically, while operating in arrival detection mode, the systemcan: execute the arrival detection model based on a first(lower-resolution) image and a second (lower-resolution) image, wherethe arrival detection model characterized by a first energy consumption;and, while operating in departure detection mode, execute the occupancydetection model based on a third (high-resolution) image, where theoccupancy detection model characterized by a second energy consumptionis greater than the first energy consumption.

6. Arrival Detection Mode

As shown in FIGS. 1, 2, 3, and 5, the system can execute Blocks S110,S120, S122 and S130, when operating in arrival detection mode to: accessan occupancy status of a workspace in Block S110; record successivelower-resolution images of a workspace at a high frequency in BlocksS120, S122, and S124; detect an arrival of a human at the workspace viaan arrival detection model based on at least the last image of thesuccessive lower-resolution images in Block S130; and in response todetecting the arrival of a human at the workspace, record ahigher-resolution confirmation image in Block S140; and confirmoccupancy of the workspace via the occupancy detection model in BlockS150. Thus, in the arrival detection mode, the system can improve thearrival time resolution of the system by increasing the frequency oflower-resolution capture and by recording high-resolution asconfirmation of occupancy.

6.1 Lower-Resolution Image Capture

Generally, while in arrival detection mode, the sensor block captures asequence of lower-resolution images in order to analyze each image todetect new occupancy of any vacant workspace in the field of view of thesensor block in Block S120, S122, and S124. More specifically, thesensor block can record lower-resolution images (e.g., 256 by 256pixels) at a frequency as determined by an internal clock of the sensorblock. The frequency can be predetermined (e.g., once every minute, twominutes, or three minutes) or can vary depending on the time of day, dayof the week, historical utilization of the work area within the field ofview of the sensor block, etc. Furthermore, the sensor block canperiodically synchronize its clock with the gateway based on standardtime synchronization protocols to time the capture of thelower-resolution images.

In one variation, in Block S120, the sensor block can record a firstlower-resolution image in a pair of lower-resolution images, on whichthe system can execute the arrival detection model. In Block S122, thesensor block can record a second lower-resolution image in the pair oflower-resolution images. The system can then execute the arrivaldetection model based on the first image and the second image, which canbe the last two images in a series of lower-resolution images. Morespecifically, the system can: at a first time, record a first image ofthe workspace at a sensor block, the first image characterized by afirst resolution; and, at a second time succeeding the first time by afirst time interval, record a second image of the workspace at thesensor block, the second image characterized by the first resolution.Thus, the sensor block can record consecutive images, both at a lowerresolution, separated by a first time interval of a duration based ondesired arrival time resolution for the system. For example, if thedesired arrival time resolution is one minute, then the first timeinterval is equal to one minute.

In another variation during a first time period, the system can: recorda first series of (lower-resolution) images of the first workspace at asensor block and at a first imaging frequency in Block S124; and executethe arrival detection model based on the first series of images of theworkspace. In this implementation, the first imaging frequencycorresponds to the desired arrival time resolution of the system.Additionally, the sensor block can successively execute the arrivaldetection model for each image in the series of (lower-resolution)images of the workspace or for each consecutive pair of(lower-resolution) images of the workspace.

In one implementation, the sensor block can capture lower-resolutionimages at the predetermined or adaptive frequency until the sensor blockdetects new occupancy (e.g., an arrival) of a human according to thearrival detection model. Alternatively, the sensor block canperiodically capture a higher-resolution image of the work area andtransmit the higher-resolution image to the gateway to verify that allworkspaces within the field of view of the sensor block remain vacant.

6.2 Arrival Detection Model

Generally, the sensor block executes the arrival detection model inBlock S130 of the method S100 in order to detect new occupancy of aworkspace within the field of view of the sensor block. In particular,the system can execute an arrival detection model based on the first(lower-resolution) image and the second (lower-resolution) image, thearrival detection model characterized by a first energy consumption. Thesensor block executes an arrival detection model, which can be alow-compute and low memory utilization computer vision classificationalgorithm in order to reduce battery energy consumption for eachexecution of the arrival detection model such that the system canexecute the arrival detection model at a high-frequency to improve thearrival time resolution of the system. More specifically, the sensorblock executes an arrival detection model that can take as input thelast image in the sequence of lower-resolution images or the last twoimages in the sequence of lower-resolution images; and classifies theimage or images to determine whether a human has arrived at a workspacein the image or whether the workspace remains vacant. In variousimplementations, the sensor block can execute arrival detection modelsincluding absolute image thresholding, difference image thresholding,contiguous edge detection, and/or template image comparison.

In implementations where the sensor block executes the arrival detectionmodel on the last two low-resolution images recorded at the sensorblock, the system can execute the arrival detection model based on adifference image between the most recent of the two images and earlierof the two images. Thus, the sensor block can: calculate a differenceimage based on a first (lower-resolution) image and a second(lower-resolution) image; and execute the arrival detection model basedon the difference image. Additionally or alternatively, the sensor blockcan execute the arrival detection model based on a difference imagecalculated based on a most recent lower-resolution image and a templateimage of the workspace while vacant. More specifically, the sensor blockcan: access a template image of the workspace; generate a firstdifference image between the template image and the first image; detecta human arrival in the workspace based on the first difference image;generate a second difference image between the template image and thesecond image; and confirm the human arrival in the workspace based onthe second difference image. Thus, the sensor block can: calculate adifference image based on a most-recent lower-resolution image of theworkspace and a template image of the workspace; and execute the arrivaldetection model based on this difference image.

In one implementation, the sensor block inputs a subset of the pixels ofeach input lower-resolution image as defined by an image maskcorresponding to a particular workspace being evaluated. Morespecifically, the sensor block can: access an image mask correspondingto the workspace, the image mask defining a subsection of the imageoccupied by the workspace; and execute the arrival detection model basedon the first (lower-resolution) image within the image mask and thesecond (lower-resolution) image within the image mask. For example, afirst workspace in the field of view of the sensor block can correspondto a first image mask defining a first subset of pixels in eachlower-resolution image while a second workspace in the field of view ofthe sensor block can correspond to a second image mask defining a secondsubset of pixels in each lower-resolution image. Thus, the sensor blockcan execute the arrival detection model for each workspace in the fieldof view of the sensor block and for each lower-resolution image recordedat the sensor block.

In another implementation, in addition to detecting human arrival at theworkspace via the arrival detection model, the sensor block can alsocalculate a confidence score in the sensor block's assessment of humanarrival at the workspace via the arrival detection model. For example,the sensor block can execute an arrival detection model that outputs: aclassification indicating whether a human has arrived at a workspace orwhether the workspace remains vacant; and a confidence score in thisclassification. Thus, the sensor block can, via the arrival detectionmodel and based on a confidence score of human arrival or continuedvacancy at the workspace, conditionally (e.g., in response to aconfidence score less than a threshold confidence score) triggerexecution of the higher-compute occupancy detection model in order toresolve uncertainty in the classification output by the arrivaldetection model.

In yet another implementation, the sensor block can execute anarrival-departure detection model that can: while a workspace is vacant,detect human arrival or continued vacancy of the workspace; while theworkspace is occupied, detect continued occupancy; or detect humandeparture from the workspace. Thus, in this implementation, the sensorblock can execute a low-compute arrival-departure detection model thatcan detect both possible changes in occupancy status for a workspace. Inthis implementation, the sensor block can trigger recording of ahigher-resolution image and execution of the higher-compute occupancydetection model in response to a confidence score output by thearrival-departure detection model in association with a classificationthat is less than a threshold confidence score or based on a fixedschedule to periodically obtain more detailed contextual data related tothe workspace. In one example of this implementation, the sensor blockcan execute an arrival-departure detection model including two separatemodels: an arrival detection model and a departure detection model.Therefore, the sensor block can execute the arrival detection model inresponse to a current occupancy status of a workspace indicating vacancyof the workspace and execute the departure detection model in responseto the current occupancy status of the workspace indicating occupancy ofthe workspace.

Further implementations of the arrival detection model are describedbelow. However, the sensor block can execute an arrival detection modelthat includes a combination of the implementations described below.

6.2.1 Thresholding

In one implementation, the sensor block can execute the local detectionalgorithm in the form of a thresholding algorithm. More specifically,the sensor block can, in response to a set of pixel values in an imagemask corresponding to the workspace in the second image exceeding afirst set of pixel value thresholds, detect human arrival at theworkspace. Thus, the sensor block can execute a low-compute thresholdingmodel at a high frequency in order to detect arrival of a human at aworkspace within the field of view of the sensor block with greaterarrival time resolution.

The sensor block can access input pixels directly from alower-resolution image (via an image mask corresponding to theworkspace) or can derive the input pixels by calculating a differenceimage of a last lower-resolution image in a series of lower-resolutionimages and a preceding lower-resolution image in the series oflower-resolution images. Alternatively, the sensor block can accesspixels from a difference image calculated based on a most recentlower-resolution image and a template image of the workspace.

In this implementation, the sensor block can input a set of pixels of aninput lower-resolution image corresponding to a particular workspace anddetermine if the color (or grayscale) values of the pixels exceed (orare less than) a set of threshold values. In one example, the sensorblock can compare each input pixel to a threshold corresponding to thatparticular pixel as defined by the image mask. The sensor block canindicate the arrival of a human at a workspace based on a cumulativeproportion of a set of input pixels that exceed their correspondingthresholds or the cumulative magnitude of the amount by which each ofthe input pixels exceeds its corresponding threshold.

In another example, the sensor block can store, in local memory, the setof thresholds corresponding to each of the set of input pixels from eachlower-resolution image recorded by the sensor block. Alternatively,instead of a greyscale threshold, the sensor block can store a colorregion that defines a subset of color values corresponding to continuedvacancy of the workspace. In this alternative example, the sensor blockcan detect human arrival at a workspace in response to a thresholdnumber of pixels being characterized by a color value outside of theircorresponding color regions.

6.2.2 Contiguous Edge Detection

In another implementation, the sensor block can execute the arrivaldetection model in the form of a contiguous edge detection algorithm.Generally, in this implementation, the sensor block: scans an inputimage over a region of interest corresponding to a workspace in theimage (e.g., within the image mask of the workspace) in an inputlower-resolution image (or difference image between the two latestlower-resolution images in a set of successive lower-resolution images);executes an edge detection algorithm within the region of interest toidentify edges within the region; and correlates the presence or absenceof edges within the region of interest with continued vacancy or newoccupancy of a workspace corresponding to the set of contiguous inputpixels. More specifically, the sensor block can: detect a presence ofthe first contiguous edge in a first (lower-resolution) image; and, inresponse to detecting an absence of the first contiguous edge in thesecond image, detect human arrival at the workspace. Thus, the sensorblock can execute a low-compute edge detection model on a pair oflower-resolutions at a high frequency in order to detect arrival of ahuman at a workspace within the field of view of the sensor block withgreater arrival time resolution.

In one implementation, the sensor block can store, in local memory, aset of template edges detected in a template image of the workspace,where the template image depicts the workspace while vacant. The sensorblock can then: compare a set of edges detected in a most recentlower-resolution image of the workspace with the set of template images;and, in response to detecting different edges than the set of templateedges, detecting human arrival at the workspace.

6.2.3 Low-Compute Artificial Neural Network

In one implementation, the sensor block can execute an artificial neuralnetwork as the arrival detection model in order to detect human arrivalat a workspace in the field of view of the sensor block. Morespecifically, the sensor block can input a first (lower-resolution)image and a second (lower-resolution) image to an artificial neuralnetwork (e.g., a convolutional neural network for singular inputs or along short-term memory neural network for a sequence of input images).In this implementation, the sensor block can execute an artificialneural network as the arrival detection model characterized by fewernodes and therefore fewer weights and computational steps when comparedto the occupancy detection model. Thus, the sensor block can repeatedlyexecute a low-compute artificial neural network at a high frequency inorder to improve the arrival time resolution of the sensor block.

In this implementation, the sensor block can execute an artificialneural network that has been pretrained on a corpus of arrival trainingexamples, where each arrival training example includes a pair ofconsecutive lower-resolution images and a label indicating whether thepair of consecutive lower-resolution images depicts an arrival of ahuman at the workspace or continued vacancy of the workspace. The systemor a training system cooperating with the system can then execute asupervised learning algorithm (e.g., a backpropagation algorithm) inorder to train the artificial neural network. The sensor block can thenstore trained weights of the artificial neural network in local memoryin order to execute the arrival detection model upon recordingsuccessive images of the workspace.

6.3 Confirmation Image Capture

In response to detecting that a human has arrived at a previously vacantworkspace via the arrival detection model based on a lastlower-resolution image, the sensor block can record a higher-resolutionconfirmation image (e.g., 640 by 480 pixels) via the optical sensor inBlock S140. More specifically, the sensor block can, in response todetecting human arrival at the workspace via the arrival detectionmodel: record a third (higher-resolution) image of the workspace at thesensor block, the third image characterized by a second resolutiongreater than the first resolution in Block S140. Thus, by triggering therecording of a higher-resolution image and subsequent execution of thehigh-compute occupancy detection model, in response to the output of thelow-compute arrival detection model, the system can conserve batteryenergy of the sensor block while still maintaining accuracy of theoccupancy classification and a high degree of arrival time resolutionfor the workspace within the field of view of the sensor block.

In implementations where the sensor block includes a single opticalsensor, the sensor block can transition the optical sensor fromlow-resolution recording setting of the optical sensor to ahigh-resolution recording setting of the optical setting prior torecording a third (higher-resolution) image and subsequent to recordingthe first (lower-resolution) image and the second (lower-resolution)image. Thus, the sensor block can record both types of images via asingle optical sensor.

In implementations where the sensor block includes two optical sensors,the sensor block can: record the first (lower-resolution) image and thesecond (lower-resolution) image at a first lower-resolution, lower-poweroptical sensor in Block S120 and S122; and record the third(higher-resolution) confirmatory image with a second higher-resolution,higher-power optical sensor. Thus, the sensor block can further reduceenergy consumption by utilizing a specialized lower-power optical sensorwhen recording lower-resolution images.

In one implementation, the sensor block can store separatehigh-resolution and low-resolution image masks, which respectivelyidentify an image mask (e.g., a set of pixels) corresponding to theworkspace within the field of view of the optical sensor or opticalsensors of the sensor block in order to identify the region occupied bythe workspace within both higher-resolution and lower-resolution images.More specifically, the sensor block can execute the occupancy detectionmodel based on the third (higher-resolution) image within an image maskcorresponding to the workspace. Thus, the sensor block can reduce energyconsumption of the occupancy detection model in addition to reducing theenergy consumption of the arrival detection model by limiting the numberof input pixels to each model to those input pixels within the imagemask corresponding to the workspace.

In the remote execution variation, the sensor block can transmit thehigher-resolution image from the sensor block to the gateway by: wakingfrom low-power or hibernation mode to activate the wirelesscommunication module; transmitting the higher-resolution image via thewireless communication model; receiving confirmation from the gatewaythat the higher-resolution image has been received; receivingconfirmation of the occupancy of the workspace and/or and updated modelparameters for the arrival detection model; updating the occupancystatus of the workspace and/or integrate the updated model parametersinto the arrival detection model; and disabling the wirelesscommunication module in order to return to low-power mode. Thus, invariations of the system where communication from the sensor block tothe gateway is less energy intensive than executing the occupancydetection model locally, the system can offload the higher-resolutionimage to the gateway, which can then provide confirmation as to theoccupancy or vacancy of the workspace.

6.4 Occupancy Detection Model

Generally, the system executes the occupancy detection model based onthe higher-resolution confirmation image in order to classify thepresence or absence of humans within the workspace in the field of viewof the sensor block with a higher degree of accuracy than can beprovided by the low-compute arrival detection model. More specifically,the system can execute an occupancy detection model based on the third(higher-resolution) image, the occupancy detection model characterizedby a second energy consumption greater than the first energy consumptionin Block S150.

After the system executes the occupancy detection model, the systemoutputs a classification (e.g., vacant or occupied) for the workspacewithin the field of view of the sensor block. If the system classifies aworkspace as occupied, thereby confirming detection of human arrival bythe arrival detection model, then the system updates the occupancystatus to indicate occupancy of the workspace in Block S160. If thesystem classifies the workspace as vacant, then the sensor block hasdetected a false positive occupancy of the workspace and, therefore, thesensor block does update the occupancy status of the workspace and theoccupancy status of the workplace continues to indicate vacancy of theworkspace. More specifically, the system can: in response to detectinghuman arrival at the workspace via the arrival detection model, record aseries of (high-resolution) images of the workspace at the sensor blockat a second imaging frequency (for recording the higher-resolutionimages) less than the first image frequency (for recording thelower-resolution images) and executing the occupancy detection modelbased on the fourth series of images; and, in response to detectingvacancy of the workspace, maintain the occupancy status of the workspaceto indicate vacancy of the workspace and record successive (lowresolution) images of the workspace at the sensor block and at the firstimaging frequency. Thus, the system treats the classification of theoccupancy detection model as a “ground truth” for the arrival detectionmodel.

Additionally, upon classifying the occupancy status of the workspace,the system can transmit the occupancy status of the workspace to aremote scheduling system in order to indicate to users, via a GUI,whether the workspace is currently occupied or vacant.

Generally, the system executes a high-compute artificial neural network(e.g., such as a convolutional neural network or fully connected neuralnetwork) as the occupancy detection model. More specifically, the systemor a training system cooperating with the system can train the occupancydetection model based on a corpus of occupancy training examples, eachoccupancy training example including a high-resolution image and aclassification as occupied or vacant. Additionally, each trainingexample can also include locations and orientations of humans and/orother objects of interest within a threshold distance of the workspaceor within the image mask corresponding to the workspace. The system orthe training system can then execute a supervised training algorithm(e.g., a backpropagation algorithm) in order to train the occupancydetection model, thereby resulting in a set of weights corresponding toeach layer of the artificial neural network. The sensor block can thenstore these weights in local memory in order to execute the occupancydetection model.

In one implementation, in addition to classifying the occupancy of theworkspace as either occupied or vacant, the system can execute anoccupancy detection model that outputs additional data regarding theworkspace such as a number and type of objects detected at or within athreshold distance of the workspace, the level of engagement of thehuman at the workspace, and/or the utilization rate of various resourcesat the workspace (e.g., a whiteboard, a desktop computer). Thus, thesystem can execute the occupancy detection model to provide deepercontextual data to users of the system regarding the utilization ofworkspaces in a work area in addition to providing a higher accuracyclassification of the occupancy of each workspace.

In another implementation, in addition to executing the occupancydetection model in order to classify the workspace as either occupied orvacant, the system can also execute the occupancy detection model inorder to classify the workspace as occupied, occupied with no humanpresent, or vacant. More specifically, the system can execute a computervision classification algorithm to detect an occupancy status of theworkspace, the occupancy status being one of: occupied, vacant; oroccupied with no human present. Thus, the system can, via execution ofthe occupancy detection model, distinguish between occupation of aworkspace by a human currently working at the workspace; and occupationof a workspace by a set of human effects (e.g., personal itemsassociated with a human such as items of clothing, laptops computers,tablets, smartphones, coffee mugs, pens, or any other object associatedwith the presence of a human). By distinguishing between occupationstates in this regard, the system can provide additional contextual datato the remote scheduling system or to users of the system pertaining tothe utilization of workspaces in the work area.

In yet another implementation, the system can execute the occupancydetection model on a consecutive pair of high-resolution images or on aseries of consecutive images. In this implementation, prior images ofthe workspace may provide additional context for the occupancy detectionmodel to detect the presence or absence of a human at the workspace.

In the remote execution variation, the gateway executes the occupancydetection model after receiving a transmitted higher-resolution imagefrom the sensor block. Because the gateway is connected to a wired powersource and includes a larger local memory, the gateway can execute amore computationally intensive (and therefore more accurate) computervision classification algorithm as the occupancy detection model. Thus,the gateway can implement occupancy detection models including deeperartificial neural networks or other more computationally intensivemachine learning algorithms to determine the occupancy status of eachworkspace within a higher-resolution image captured by a sensor block.If the gateway classifies a workspace as occupied via a remotelyexecuted occupancy detection model, thereby confirming detection ofhuman arrival by the arrival detection model, then the gateway transmitsa prompt to the sensor block confirming that the workspace is occupied.The sensor block can then update occupancy status of the workspaceaccordingly. If the classification indicates that the workspace is stillvacant, then the gateway transmits a prompt to the sensor blockindicating that the sensor block has detected a false positive occupancyof the workspace and therefore the occupancy status of the workspace isnot updated by the sensor block and continues to indicate that theworkspace is vacant.

6.5 Model Feedback

In addition to confirming the occupancy status of a workspace via theoccupancy detection model and based on higher-resolution images capturedby the sensor block, the system can modify the arrival detection modelin order to improve the accuracy of the arrival detection model based onfeedback from the occupation detection model. Thus, the system canutilize successive outputs of the occupancy detection model as a groundtruth for the arrival detection model and modify the arrival detectionmodel accordingly.

Generally, the system can: execute the occupancy detection model tolabel a workspace in an image as either vacant or occupied; down-samplethe higher-resolution image recorded by the sensor block to convert theimage to a lower-resolution; and perform multiple versions of thearrival detection model to identify parameters for the arrival detectionmodel that result in the most accurate classification ofvacancy/occupancy for a particular workspace.

In one implementation, the system down-samples a template image of theworkspace (e.g., an image where the workspace is known to be vacant) andcompares the down-sampled template image to a set of down-sampled imagesin which the workspace has been labeled as occupied according to theoccupancy detection model. The system can then perform various versionsof the arrival detection model to calculate which version provides themost accurate classification of the down-sampled image as across the setof down-sampled images.

Alternatively, the system can execute a machine learning algorithm todetermine the most significant pixels for threshold analysis and/orcontiguous edge detection. More specifically, the system can: calculatea set of most significant pixels within the image mask based on previousexecutions of the arrival detection model and the occupancy detectionmodel; and execute the arrival detection model based on the set of mostsignificant pixels in the first image and the set of most significantpixels in the second image. In one implementation, the system canexecute an elimination-based sensitivity analysis of down-sampled imagesof the workspace by selectively removing the same pixel from eachdown-sampled image and retraining the model on the modified images.

Upon selecting an effective local selection model and/or image mask fora particular workspace, the system can transmit this configurationinformation to the sensor block. In response, the sensor block canmodify its arrival detection model and/or the image mask correspondingto a workspace according to the configuration information.

In another implementation, the system can implement a machine learningalgorithm or search algorithm to determine a minimum resolution for thelower-resolution images at which the arrival detection model can stillreliably (i.e. with greater than a threshold accuracy) detect occupancyof the workspace. For example, after identifying an effective arrivaldetection model, the system can perform the arrival detection model atvarious down-sampled resolutions until the arrival detection model failsto correctly identify the occupancy of the workspace in a thresholdproportion of test images of the workspace. Upon calculating a minimumresolution for the lower-resolution images, the system can transmit theresolution information to the sensor block, which can configure theoptical sensor of the sensor block to capture the lower-resolutionimages at the calculated resolution.

In one variation, the gateway can execute the aforementioned feedbackalgorithms in order to save battery energy at the sensor block becausethe aforementioned feedback algorithms can be computationally intensive.In this variation, the sensor block can periodically offloadhigh-resolution images to the gateway for further evaluation. Upongenerating an output of the feedback algorithm (i.e. model parameters,resolutions, most-significant pixel locations), the gateway can thentransmit this output to the sensor block. The sensor block can thenmodify its local arrival detection model according to the receivedoutput of the feedback algorithm.

7. Departure Detection Mode

As shown in FIG. 4, the sensor block can operate in departure detectionmode to: record successive higher-resolution images of the workspace ata lower frequency (when compared to the series of higher-frequency,lower-resolution images recorder in arrival detection mode; e.g., on aten minute time interval); and execute the occupancy detection modelbased on each recorded higher-resolution image. Thus, the system canselectively decrease the temporal resolution in detecting departure ofusers from the workspace (i.e. by decreasing the imaging frequency ofthe sensor block relative to the higher imaging frequency of the sensorblock in the arrival detection mode), while maintaining accuracy inclassifying the occupancy of the workspace, thereby making availableadditional battery energy for when the sensor returns to arrivaldetection mode.

7.1 High-Resolution Image Capture and Transmission

Generally, while in departure detection mode, the sensor block capturesa sequence of higher-resolution images and executes the occupancydetection model to detect a new vacancy of the current occupiedworkspace in the field of view of the sensor block. More specifically,the sensor block can record higher-resolution images (e.g., 640 by 480or similar to the resolution of the confirmation images) at a lowerimaging frequency as determined by an internal clock of the sensorblock. The imaging frequency can be predetermined (e.g., a 10-, 15-, or20-minute time interval) or can vary depending on the time of day, dayof the week, historical utilization of the work area within the field ofview of the sensor block, etc. Furthermore, the sensor block canperiodically synchronize its clock with the gateway based on standardtime synchronization protocols to synchronize the sensor block's captureof the higher-resolution images with other sensor blocks communicatingwith the same gateway.

In one implementation, upon confirming occupancy of the workspace viathe occupancy detection model based on a first high-resolutionconfirmation image, the system can transition into departure detectionmode by taking a second (higher-resolution) image succeeding theconfirmation image by a second time interval corresponding to the lowerimaging frequency of the sensor block in departure detection mode. Morespecifically, at a time succeeding the confirmation image time by asecond time interval longer than the first time interval (betweenlower-resolution images), the system can: record a fourth(higher-resolution) image of the workspace at the sensor block; andexecute the occupancy detection model based on the fourth image.

While operating in departure detection mode, the system can transitionback into arrival detection mode in response to detecting a vacancy at aworkspace in the field of view of the sensor block. When this occurs,the system can update the occupancy status of the workspace to indicatevacancy at the workspace and initiate arrival detection mode once again.More specifically, the system can, in response to detecting vacancy ofthe workspace via the occupancy detection model, record a series oflower-resolution images and execute the arrival detection model based onthe series of lower-resolution images.

8. Adaptive Detection Mode

As shown in FIG. 5, in one variation, the system can operate in anarrival-departure detection mode by continuing to recordlower-resolution images and execute an arrival-departure detection modelduring departure detection mode, thereby saving additional batteryenergy when compared to recording a series of higher-resolution imagesand executing the occupancy detection model. More specifically, thesystem can record lower-resolution images at a lower imaging frequencythan the imaging frequency in arrival detection mode and can execute thearrival-departure detection model based on each consecutive pair oflower-resolution images. Upon detecting departure via thearrival-departure detection model, the system can trigger the sensorblock to record a higher-resolution confirmation image to confirm thedeparture and, if confirmed, successively update the occupancy status ofthe workspace. Thus, the system records lower-resolution images andexecutes the low-compute arrival-departure detection model and recordshigher-resolution images and executes the high-compute occupancydetection model in order to confirm changes (e.g., either detectedarrival or departure) in occupancy detected by the arrival-departuredetection model.

In one implementation of this variation, the system can also recordhigher-resolution images and execute the occupancy detection model inresponse to a confidence score for a detection (of either arrival ordeparture) of the arrival-departure detection model lower than athreshold confidence score.

In another implementation in this variation, the system can record apair of lower-resolution images depicting multiple workspaces; andexecute the arrival-departure model on each of these workspaces todetect either arrival or departure from these workspaces. Thus, thesystem can record higher-resolution images at times independent of thecurrent occupancy status of workspaces that instead act as confirmationimages of either arrival or departure of humans from workspaces withinthe field of view of the sensor block.

9. Hybrid Detection Mode

As shown in FIG. 4, in one implementation, if there are multipleworkspaces within the field of view of the sensor block and theworkspaces have different occupancy statuses, the sensor block canoperate in a hybrid detection mode by executing Blocks of the methodS100 according to both the arrival detection mode and the departuredetection model. Generally, the sensor block accomplishes this by:capturing successive lower-resolution images at a first frequency (i.e.with a shorter intervening time interval) and capturinghigher-resolution images at a second lower frequency (i.e. with a longerintervening time interval). More specifically, the system can access anoccupancy status of a second workspace in a work area encompassing thefirst workspace and the second workspace. In response to the secondoccupancy status indicating vacancy of the second workspace, during thesecond time period succeeding the first time period, the system can:record a third series of images of a second workspace at the sensorblock and at the first imaging frequency; execute the arrival detectionmodel based on the third series of images; and detect human arrival atthe second workspace via the arrival detection model. Thus, the modelcan simultaneously record a series of lower-resolution images at ahigher frequency in order to detect arrival of a human at a vacantworkspace while also recording a series of higher-resolution images at alower-frequency in order to detect departure of a human from an occupiedworkspace.

Like the sensor block operating in arrival detection mode, the sensorblock operating in hybrid detection mode executes the arrival detectionmodel for each recorded lower-resolution image but only on pixels of thelower-resolution image within image masks corresponding to vacantworkspaces. Thus, the sensor block conserves processing time (andtherefore battery life) while executing the arrival detection model forthe vacant workspaces within the lower-resolution images.

While operating in a hybrid mode, the sensor block detects departuresfrom occupied workspaces by transmitting each recorded higher-resolutionimage to the gateway; and receiving a classification of the workspaceswith occupancy statuses indicating that they are occupied. If thegateway returns a classification indicating vacancy, then the sensorblock updates the occupancy status for the corresponding workspace. Inone implementation, the sensor block can also update the occupancystatus of a vacant workspace to indicate occupancy according to aclassification from the gateway (e.g., in cases where the arrivaldetection model failed to detect an arrival at a workspace). Thus, byperiodically transmitting higher-resolution images to be analyzed by thegateway the system can check the accuracy of the arrival detectionmodel.

In this manner, the sensor block and the gateway can track arrivals ofhumans at vacant workspaces and the departure of humans from occupiedworkspaces within the same time period.

9.1 Scheduling

In one implementation, while operating in hybrid detection mode, thesensor block can record lower-resolution images and higher-resolutionimages according to a schedule instead of recording each sequence ofimages at a particular frequency. Generally, the sensor block can recordsuccessive lower-resolution images at a particular frequency and thenreplace a certain proportion of the lower-resolution images withhigher-resolution images. For example, the sensor block can record alower-resolution image every two minutes and record a higher-resolutionimage every fifth image (i.e. a higher-resolution image every tenminutes). Therefore, a higher-resolution image replaces alower-resolution image every ten minutes and is evaluated via theoccupancy detection model.

In one implementation, the system can increase or decrease the frequencyof images in the schedule based on the time of day, thereby executing adaily schedule for recording lower-resolution and higher-resolutionimages. However, the system can schedule lower-resolution andhigher-resolution image capture according to any daily or weeklyschedule in order to manage battery energy consumption of the sensorblock and to throttle the arrival time resolution and departure timeresolution of the system relative to each other.

9.2 Transmission Limits

In the remote execution variation, when operating in arrival detectionmode, the sensor block records and transmits a higher-resolutionconfirmation image in response to detecting an arrival via the arrivaldetection model and based on a last lower-resolution image. However,when operating in hybrid detection mode, the sensor block is configuredto periodically record and transmit higher-resolution images in order todetect departures. Therefore, it can be redundant and therefore wastefulof battery energy for the sensor block to automatically triggerrecording and transmission of a confirmation image. Thus, the sensorblock can implement conditional logic when triggering the capture andtransmission of a higher-resolution confirmation image to limitinstances of redundant higher-resolution capture and transmission.Additionally or alternatively, the sensor block can record and transmitscheduled higher-resolution images based on conditional logic.

In one implementation, the sensor block records a number ofhigher-resolution images (including scheduled higher-resolution imagesand confirmation images) sent within a rolling time buffer (e.g., a20-minute buffer). The sensor block can then cancel the capture andtransmission of any scheduled higher-resolution images or triggeredconfirmation images when a threshold number (e.g., three) ofhigher-resolution images has been recorded within the rolling buffer.Furthermore, the sensor block can implement multiple durations ofrolling time buffers, each with a different corresponding maximum numberof higher-resolution image captures and transmissions. For example, thesensor block can implement: a first rolling buffer of two minutes with afirst maximum number of higher-resolution images of one; a secondrolling buffer of 10 minutes with a second maximum number ofhigher-resolution images of three; and a third rolling buffer of 20minutes with third maximum number of higher-resolution images of four.

10. Adaptive Detection Mode

In one implementation, the system can operate in an adaptive detectionmode where the sensor block can adaptively modify its imaging frequencyin arrival detection mode and departure detection mode in order toprioritize arrival detection and/or departure detection while conservingbattery energy of the sensor block. More specifically, the sensor blockcan store, in local memory, a lower-resolution imaging frequencyfunction that takes as input a set of input data (e.g., the time of day,the current total occupancy of the work area) and outputs alower-resolution imaging frequency. The sensor block can then recordlower-resolution images of workspaces at the lower-resolution imagingfrequency when operating in arrival detection mode. Additionally, thesensor block can store, in local memory, a higher-resolution imagingfrequency function that takes as input the set of input data (e.g., thetime of day, the current total occupancy of the work area) and outputs ahigher-resolution imaging frequency; the sensor block can then recordhigher-resolution images at the higher-resolution imaging frequency whenoperating in departure detection mode.

In one example, the system can modulate the imaging frequency of asensor block based on the time of day. More specifically, the systemcan: during the first time period, record a first series of images of afirst workspace at the sensor block and at the first imaging frequency,the first imaging frequency based on the time of day of the first timeperiod; and, during the second time period succeeding the first timeperiod, record the second series of images of the first workspace at thesensor block and at the second imaging frequency, the first imagingfrequency based on the time of day of the second time period. Thus, thesystem can increase the lower-resolution imaging frequency (for arrivaldetection) for time periods during which a large number of humans arearriving at a workspace (e.g., during the start of the workday such asbetween 7:00 AM and 9:00 AM) and decrease the lower-resolution imagingfrequency for time periods later in the day during which there are fewerarrivals at the work area. Likewise, the system can increase thehigher-resolution image frequency during time periods of frequent humandeparture from workspaces (e.g., during the end of the workday such asbetween 4:00 PM and 6:00 PM) or during time periods of high activitywhere additional metadata relevant to utilization of the work area maybe available (e.g., during the working hours of the workday such between9:00 AM and 12:00 PM and between 1:00 PM and 4:00 PM).

In another example, the system can modulate the imaging frequency basedon the current total occupancy of the work area that includes aworkspace within the field of view of the sensor block. Morespecifically, the system can access a set of occupancy statuses of a setof workspaces located in a work area, the set of workspaces includingthe first workspace; calculate a total occupancy of the work area;record the first series of images of the first workspace at the sensorblock and at the first imaging frequency, the first frequency based onthe total occupancy of the work area; and record the second series ofimages of the first workspace at the sensor block and at the secondimaging frequency, the second imaging frequency based on the totaloccupancy of the work area. Thus, during periods of high occupancy, whenthere are few available workspaces in the work area, the system canincrease the lower-resolution imaging frequency (for improved arrivaldetection) and can increase the higher-resolution imaging frequency (forimproved departure detection), thereby improving the time resolution ofoccupancy statuses for the work area across the board in order to aidhumans in locating desks that are not currently occupied. Additionally,during periods of low occupancy, the system can decrease thelower-resolution imaging frequency and decrease the higher-resolutionimaging frequency, thereby conserving battery energy of the sensor blockbecause humans may be able to select from a larger number of readilyavailable vacant workspaces within the work area.

In yet another example, the system can modulate the imaging frequency ofthe sensor block based on the types of workspaces present within thefield of view of the sensor block. For example, when the sensor block islocated over a conference room, the system can increase the imagingfrequency (lower-resolution and higher-resolution) of the sensor blockin order to improve the arrival and departure time resolution of thesensor block for the relative high demand conference room. In anotherexample, when the sensor block is located over a set of agile desks, thesystem can decrease the relative imaging frequency (lower-resolution andhigher-resolution) since these desks are, on average, lower turnoverworkspaces than a conference room.

11. Remote Scheduling System and User Interface Representation

Generally, the system can transmit an indication of the occupancy statusof a workspace to the remote scheduling system such that the remotescheduling system can display a GUI representation of the occupancystatus of the workspace to users of the system in Block S170. Morespecifically, the system can transmit the occupancy status to a remotescheduling system upon confirming a workspace as occupied via theoccupancy detection model, or upon detecting vacancy of a workspace viathe occupancy detection model. Thus, by reporting the occupancy statusof the workspace to the remote scheduling system, the system cancommunicate the occupancy status of the workspace to various users ofthe system who may then more effectively choose workspaces at which towork.

The remote scheduling system can communicate with a number of displays(e.g., tablet computers, smartphones, or video monitors) each displayinga GUI representing the occupancy statuses of workspaces in a work area.For example, the GUI can include a map of the work area depicting theposition of individual workspaces within the work area. The GUI can alsoinclude an indication of the occupancy status of each workspace such asvia a change in color (e.g., green representing a vacant occupancystatus, red representing an occupied occupancy status) or via thepresence or absence of a symbol (e.g., a presence of a human iconrepresenting an occupied occupancy status, an absence of a human iconrepresenting a vacant occupancy status). In an additional example, theGUI can include an indication of the most recent update to the occupancystatus of each workspace (e.g., a timestamp of the latest imageincluding each workspace on which the occupancy detection model wasexecuted by the system).

Additionally, in response to detecting human arrival via the arrivaldetection model (i.e. prior to confirmation by the occupancy detectionmodel) the system can modify the representation of the workspace in theGUI representing the work area. More specifically, in response todetecting human arrival at the workspace via the arrival detectionmodel, the system can: transmit an indication of the human arrival atthe workspace to the remote scheduling system and, at the remotescheduling system in response to receiving the indication of humanarrival, represent the human arrival at the workspace with a firstgraphical representation in a user interface; and, at the remotescheduling system in response to receiving the occupancy statusindicating occupancy of the workspace, represent the occupancy of theworkspace with a second graphical representation in the user interface.Thus, the system can represent a detected arrival at a workspace thathas yet to be confirmed by the system as occupancy of the workspace inthe GUI. For example, the system can indicate that the workspace isoccupied pending confirmation via a flashing red and greenrepresentation, thereby indicating that the workspace may be confirmedas occupied in the near future.

In one implementation, via the remote scheduling system, the system canrepresent an occupied with no human present state for workspaces in thework area (e.g., via a third color such as orange or yellow, or via anadditional icon) in order to indicate that a workspace is occupied butnot currently being used. Therefore, a user of the system may be able tolocate the human that has left her personal items at the workspace andpotentially occupy the workspace instead of this current occupant.

However, the system can represent the occupancy status and/ortransitional states between occupancy statuses of workspaces in the workarea in any other way.

The systems and methods described herein can be embodied and/orimplemented at least in part as a machine configured to receive acomputer-readable medium storing computer-readable instructions. Theinstructions can be executed by computer-executable componentsintegrated with the application, applet, host, server, network, website,communication service, communication interface,hardware/firmware/software elements of a user computer or mobile device,wristband, smartphone, or any suitable combination thereof. Othersystems and methods of the embodiment can be embodied and/or implementedat least in part as a machine configured to receive a computer-readablemedium storing computer-readable instructions. The instructions can beexecuted by computer-executable components integrated bycomputer-executable components integrated with apparatuses and networksof the type described above. The computer-readable medium can be storedon any suitable computer readable media such as RAMs, ROMs, flashmemory, EEPROMs, optical devices (CD or DVD), hard drives, floppydrives, or any suitable device. The computer-executable component can bea processor but any suitable dedicated hardware device can(alternatively or additionally) execute the instructions.

As a person skilled in the art will recognize from the previous detaileddescription and from the figures and claims, modifications and changescan be made to the embodiments of the invention without departing fromthe scope of this invention as defined in the following claims.

I claim:
 1. A method for detecting occupancy of a workspace comprising:accessing an occupancy status of the workspace; in response to theoccupancy status indicating vacancy of the workspace: at a first time,recording a first image of the workspace at a sensor block, the firstimage characterized by a first resolution; at a second time succeedingthe first time by a first time interval, recording a second image of theworkspace at the sensor block, the second image characterized by thefirst resolution; and executing an arrival detection model based on thefirst image and the second image; in response to detecting human arrivalat the workspace via the arrival detection model: at a third time,recording a third image of the workspace at the sensor block, the thirdimage characterized by a second resolution greater than the firstresolution; and executing an occupancy detection model based on thethird image; and in response to detecting occupancy of the workspace viathe occupancy detection model: updating the occupancy status to indicateoccupancy of the workspace; and transmitting the occupancy status to aremote scheduling system.
 2. The method of claim 1: wherein executingthe arrival detection model based on the first image and the secondimage further comprises executing the arrival detection model based onthe first image and the second image, the arrival detection modelcharacterized by a first energy consumption; and wherein executing theoccupancy detection model based on the third image further comprisesexecuting the occupancy detection model based on the third image, theoccupancy detection model characterized by a second energy consumption.3. The method of claim 1: wherein accessing the occupancy status of theworkspace further comprises accessing an occupancy status of theworkspace at the sensor block; wherein executing the arrival detectionmodel based on the first image and the second image further comprisesexecuting the arrival detection model based on the first image and thesecond image at the sensor block; further comprising, in response todetecting human arrival at the workspace via the arrival detectionmodel, transmitting the third image from the sensor block to a gateway;and wherein executing the occupancy detection model based on the thirdimage further comprises executing the occupancy detection model based onthe third image at the gateway; further comprising, in response todetecting occupancy of the workspace via the occupancy detection model,transmitting an indication of occupancy of the workspace from thegateway to the sensor block; wherein updating the occupancy status toindicate occupancy of the workspace further comprises updating theoccupancy status to indicate occupancy of the workspace at the sensorblock; and wherein transmitting the occupancy status to the remotescheduling system further comprises transmitting the occupancy statusfrom the gateway to the remote scheduling system.
 4. The method of claim1: wherein recording the first image of the workspace at the sensorblock further comprises recording the first image of the workspace atthe sensor block via a first optical sensor; wherein recording thesecond image of the workspace at the sensor block further comprisesrecording the second image of the workspace at the sensor block via thefirst optical sensor; and wherein recording the third image of theworkspace at the sensor block further comprises recording the thirdimage of the workspace at the sensor block via a second optical sensor.5. The method of claim 1: further comprising accessing an image maskcorresponding to the workspace, the image mask defining a subsection ofthe image occupied by the workspace; wherein executing the arrivaldetection model based on the first image and the second image furthercomprises executing the arrival detection model based on the first imagewithin the image mask and the second image within the image mask; andwherein executing the occupancy detection model based on the third imagefurther comprises executing the occupancy detection model based on thethird image within the image mask.
 6. The method of claim 5: furthercomprising calculating a set of most significant pixels within the imagemask based on previous executions of the arrival detection model and theoccupancy detection model; and wherein executing the arrival detectionmodel based on the first image within the image mask and the secondimage within the image mask further comprises executing the arrivaldetection model based on the set of most significant pixels in the firstimage and the set of most significant pixels in the second image.
 7. Amethod for detecting occupancy of a workspace comprising: accessing anoccupancy status of the workspace; in response to the occupancy statusindicating vacancy of the workspace: at a first time, recording a firstimage of the workspace at a sensor block; at a second time succeedingthe first time by a first time interval, recording a second image of theworkspace at the sensor block; and executing an arrival detection modelbased on the first image and the second image, the arrival detectionmodel characterized by a first energy consumption; in response todetecting human arrival at the workspace via the arrival detectionmodel: at a third time, recording a third image of the workspace at thesensor block; and executing an occupancy detection model based on thethird image, the occupancy detection model characterized by a secondenergy consumption greater than the first energy consumption; and inresponse to detecting occupancy of the workspace via the occupancydetection model: updating the occupancy status to indicate occupancy ofthe workspace; and transmitting the occupancy status to a remotescheduling system, the occupancy status indicating occupancy of theworkspace.
 8. The method of claim 7, further comprising: at a fourthtime succeeding the third time by a second time interval longer than thefirst time interval, recording a fourth image of the workspace at thesensor block; and executing the occupancy detection model based on thefourth image.
 9. The method of claim 8, further comprising, in responseto detecting vacancy of the workspace via the occupancy detection modelbased on the fourth image: at a fifth time, recording a fifth image ofthe workspace at the sensor block; at a sixth time succeeding the fifthtime by the first time interval, recording a sixth image of theworkspace at the sensor block; and executing the arrival detection modelbased on the fifth image and the sixth image.
 10. The method of claim 7:wherein accessing the occupancy status of the workspace furthercomprises accessing the occupancy status of the workspace, in localmemory of the sensor block; wherein executing the arrival detectionmodel based on the first image and the second image further comprisesexecuting the arrival detection model based on the first image and thesecond image at the sensor block; wherein executing the occupancydetection model based on the third image further comprises executing theoccupancy detection model based on the third image at the sensor block;wherein updating the occupancy status to indicate occupancy of theworkspace further comprises updating the occupancy status to indicateoccupancy of the workspace in the local memory of the sensor block; andwherein transmitting the occupancy status to the remote schedulingsystem further comprises transmitting the occupancy status from thesensor block to the remote scheduling system.
 11. The method of claim 7,wherein executing the occupancy detection model based on the third imagefurther comprises executing a computer vision classification algorithmto detect an occupancy status of the workspace, the occupancy statusbeing one of: occupied; vacant; and occupied with no human present. 12.The method of claim 7, wherein executing the arrival detection modelbased on the first image and the second image further comprises, inresponse to a set of pixels values in an image mask corresponding to theworkspace in the second image exceeding a first set of pixel valuethresholds, detecting human arrival at the workspace.
 13. The method ofclaim 7, wherein executing the arrival detection model based on thefirst image and the second image further comprises: detecting a presenceof the first contiguous edge in the first image; and in response todetecting an absence of the first contiguous edge in the second image,detecting human arrival at the workspace.
 14. The method of claim 7:further comprising accessing a template image of the workspace; whereinexecuting the arrival detection model based on the first image and thesecond image further comprises: generating a first difference imagebetween the template image and the first image; detecting a humanarrival in the workspace based on the first difference image; generate asecond difference image between the template image and the second image;and confirming the human arrival in the workspace based on the seconddifference image.
 15. The method of claim 7, further comprising: inresponse to detecting human arrival at the workspace via the arrivaldetection model: transmitting an indication of the human arrival at theworkspace to the remote scheduling system; and at the remote schedulingsystem, in response to receiving the indication of human arrival,representing the human arrival at the workspace with a first graphicalrepresentation in a user interface; and at the remote scheduling system,in response to receiving the occupancy status indicating occupancy ofthe workspace, representing the occupancy of the workspace with a secondgraphical representation in the user interface.
 16. A method comprising:accessing a first occupancy status of a first workspace; in response tothe first occupancy status indicating vacancy of the first workspace:during a first time period, recording a first series of images of thefirst workspace at a sensor block and at a first imaging frequency; andexecuting an arrival detection model based on the first series ofimages; in response to detecting human arrival at the first workspacevia the arrival detection model: during a second time period succeedingthe first time period, recording a second series of images of the firstworkspace at the sensor block and at a second imaging frequency; andexecuting an occupancy detection model based on the second series ofimages; and in response to detecting occupancy of the first workspacevia the occupancy detection model: updating the first occupancy statusto indicate occupancy of the first workspace; and transmitting the firstoccupancy status to a remote scheduling system.
 17. The method of claim16: wherein, during the first time period, recording the first series ofimages of the first workspace at the sensor block and at the firstimaging frequency further comprises, during the first time period,recording the first series of images of the first workspace at thesensor block and at the first imaging frequency, the first imagingfrequency based on the time of day of the first time period; andwherein, during the second time period succeeding the first time period,recording the second series of images of the first workspace at thesensor block and at the second imaging frequency further comprises,during the second time period succeeding the first time period,recording the second series of images of the first workspace at thesensor block and at the second imaging frequency, the first imagingfrequency based on the time of day of the second time period.
 18. Themethod of claim 16: wherein accessing the first occupancy status of thefirst workspace further comprises accessing a set of occupancy statusesof a set of workspaces located in a work area, the set of workspacescomprising the first workspace; further comprising calculating a totaloccupancy of the work area; wherein recording the first series of imagesof the first workspace at the sensor block and at the first imagingfrequency further comprises recording the first series of images of thefirst workspace at the sensor block and at the first imaging frequency,the first frequency based on the total occupancy of the work area; andwherein recording the second series of images of the first workspace atthe sensor block and at the second imaging frequency further comprisesrecording the second series of images of the first workspace at thesensor block and at the second imaging frequency, the second imagingfrequency based on the total occupancy of the work area.
 19. The methodof claim 16, further comprising: accessing a second occupancy status ofa second workspace in a work area encompassing the first workspace andthe second workspace; and in response to the second occupancy statusindicating vacancy of the second workspace: during the second timeperiod succeeding the first time period, recording a third series ofimages of a second workspace at the sensor block and at the firstimaging frequency; and executing the arrival detection model based onthe third series of images; and detecting human arrival at the secondworkspace via the arrival detection model.
 20. The method of claim 16,further comprising: accessing a second occupancy status of a secondworkspace; in response to the second occupancy status indicating vacancyof the second workspace: during a third time period, recording a thirdseries of images of the second workspace at the sensor block and at thefirst imaging frequency; and executing the arrival detection model basedon the third series of images; in response to detecting human arrival atthe second workspace via the arrival detection model, during a fourthtime period succeeding the third time period, recording a second seriesof images of the second workspace at the sensor block and at the secondimaging frequency; executing the occupancy detection model based on thefourth series of images; and in response to detecting vacancy of thesecond workspace: maintaining the second occupancy status to indicatevacancy of the second workspace; and recording a fifth series of imagesof the second workspace at the sensor block and at the first imagingfrequency.